<ui:composition
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
xmlns:c="http://java.sun.com/jsp/jstl/core">

    <p:ajaxExceptionHandler type="javax.faces.application.ViewExpiredException"
                            update="exceptionDialog"
                            onexception="PF('expiredDialog').show();" />
 
    <p:ajaxExceptionHandler type="java.lang.NullPointerException"
                            update="exceptionDialog"
                            onexception="PF('exceptionDialog').show();" />
        
    
    <p:dialog id="exceptionDialog" header="Ha ocurrido un error: '#{pfExceptionHandler.type}' !" widgetVar="exceptionDialog"
              height="auto" width="80%" >

              
        Mensaje: #{pfExceptionHandler.message} <br/>
        Pila: <p:inputTextarea  value="#{pfExceptionHandler.formattedStackTrace}" style="width: 98%; height: 500px;"  /> 
 
        <p style="text-align: center; font-size: 16px; font-weight: bold; color: #93bd22;">            
            <h:outputLink value="/#{request.contextPath}/" >
                Recargar
            </h:outputLink>        
        </p>
        
    </p:dialog>
 
    <p:dialog id="expiredDialog" header="Su sesión ha expirado" widgetVar="expiredDialog" 
              modal="true">
        
        <p>
            Estimado. Ha pasado un tiempo considerable sin realizar ninguna acción.
            Por su seguridad, la sessión ha finalizado. Por favor vuelva a ingresar.
        </p>
        
        <p style="text-align: center; font-size: 16px; font-weight: bold; color: #93bd22;">            
            <h:outputLink value="/#{request.contextPath}/" >
                Recargar
            </h:outputLink>        
        </p>
        
    </p:dialog>

</ui:composition>
